package com.cqh.recruit.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.cqh.recruit.pojo.dto.StudentLoginDTO;
import com.cqh.recruit.pojo.dto.StudentQueryDto;
import com.cqh.recruit.pojo.dto.UpdatePasswordDTO;
import com.cqh.recruit.pojo.entity.LoginInfo;
import com.cqh.recruit.pojo.entity.Student;
import com.cqh.recruit.pojo.vo.StudentListVo;


/**
 * <p>
 * 学生信息表 服务类
 * </p>
 *
 * @author dh
 * @since 2025-10-18
 */
public interface IStudentService extends IService<Student> {

    /**
     * 学生登录
     *
     * @param student
     * @return
     */
    LoginInfo login(StudentLoginDTO student);

    /**
     * 登出
     */
    void logout();

    /**
     * 修改密码（直接通过用户ID）
     *
     * @param updatePasswordDto
     * @param stuId
     */
    void updatePassword(UpdatePasswordDTO updatePasswordDto, Long stuId);

    Page<StudentListVo> findStudentByQueryDto(StudentQueryDto studentQueryDto);

    /**
     * 查询当前登录用户的信息
     *
     * @return Student
     */
    Student findStudentInfoById();
}
